package com.imooc.ecommerce.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.imooc.ecommerce.common.TableId;
import com.imooc.ecommerce.goods.DeductGoodsInventory;
import com.imooc.ecommerce.goods.GoodsInfo;
import com.imooc.ecommerce.goods.SimpleGoodsInfo;

import java.util.List;

/**
 * 商品微服务相关服务接口定义
 * @author zhangshao
 * @since 2023/11/30 20:24
 */
public interface IGoodsService {

    /**
     * 根据TableId查询商品详细信息
     * @param tableId
     * @return
     */
    List<GoodsInfo> getGoodsInfoByTableId(TableId tableId);

    /**
     * 获取分页的商品信息
     * @param page
     * @return
     */
    IPage<SimpleGoodsInfo> getSimpleGoodsInfoByPage(int page);

    /**
     * 根据tableId 查询简单商品信息
     * @param tableId
     * @return
     */
    List<SimpleGoodsInfo> getSimpleGoodsInfoByTableId(TableId tableId);

    /**
     * 扣减商品库存
     * @param deductGoodsInventories
     */
    Boolean deductGoodsInventory(List<DeductGoodsInventory> deductGoodsInventories);
}
